<template>
	<view class="container">
		<block v-if="isload">
			<view class="custom-nav" :style="{ top: customNavTop + 'px', height: customNavHeight + 'px' }">
				<view class="search-container" :style="{ marginTop: statusBarHeight + 'px' }">

					<view v-if="opt.type==1" class="search-box">

						<!-- 搜索图标 -->
						<image class="search-icon" src="/static/img/search-icon2.png"></image>

						<!-- 输入框 -->
						<input class="search-input" type="text" placeholder="请输入搜索内容"
							placeholder-class="placeholder-style" v-model="searchKeyword" @confirm="handleSearch"
							@input="handleInput" />
						<view v-if="searchKeyword" class="clear-btn" @click="clearSearch">
							×
						</view>

					</view>
					<view v-else class="search-box" @tap.stop="goto" :data-url="'/pages/shop/search?bid=' + bid">
						<image class="img" src="/static/img/search-icon2.png"></image>
						<view class="search-text">请输入搜索商品</view>
					</view>

				</view>
			</view>
			<view class="content-container">
				<view class="mask" v-if="showPopup" @tap.stop="showPopup = false"></view>
				<view class="nav-tabs-box">
					<scroll-view scroll-x class="nav-tabs" :scroll-left="scrollLeft">
						<view v-for="(item, index) in clist" :key="index"
							:class="'tab-item ' + (currentTab === index ? 'active' : '')" @tap="switchTab(item, index)"
							:data-id="item.id">
							<image class="tab-icon" :src="item.pic" mode="aspectFill" :style="{
								border: currentTab === index ? `2px solid ${t('color2')}` : 'none',
								borderRadius: '50%'
							}">
							</image>
							<text class="tab-text"
								:style="{ background: currentTab === index ? t('color2') : '', color: currentTab === index ? '#fff' : '#333' }">
								{{ item.name }}
							</text>
						</view>
					</scroll-view>
					<view class="show-box">
						<view class="show-box-flex" @tap="openshow">
							<view class="show-text">
								<text>展</text>
								<text>开</text>
							</view>
							<image class="show-img" src="/static/img/show-list.png" mode=""></image>
						</view>
					</view>
					<view class="popup-layer" v-if="showPopup" :style="popupStyle">
						<view class="popup-content">
							<view v-for="(item, index) in clist" :key="index" class="popup-item"
								@tap="switchTab(item, index)">
								<image class="popup-icon" :src="item.pic" :style="{
									border: currentTab === index ? `2px solid ${t('color2')}` : 'none',
									borderRadius: '50%'
								}" mode="aspectFill"></image>
								<text class="popup-text"
									:style="{ background: currentTab === index ? t('color2') : '', color: currentTab === index ? '#fff' : '#333' }">{{
										item.name }}</text>
							</view>
						</view>
						<view class="popup-bottom" @tap="openshow">
							点击收起<image class="arrow-top" src="/static/img/arrowdown.png" mode=""></image>
						</view>
					</view>
				</view>
				<view class="content-container-box">
					<view class="nav_left">
						<view :class="'nav_left_items ' + (curIndex == -1 ? 'active' : '')"
							:style="{ color: curIndex == -1 ? t('color2') : '#333' }" @tap="switchRightTab"
							data-index="-1" :data-id="clist[currentTab] ? clist[currentTab].id : 0">
							<view class="before" :style="{ background: t('color2') }"></view>全部
						</view>
						<block v-for="(item, index) in selectedItem" :key="index">
							<view :class="'nav_left_items ' + (curIndex == index ? 'active' : '')"
								:style="{ color: curIndex == index ? t('color2') : '#333' }" @tap="switchRightTab"
								:data-index="index" :data-id="item.id">
								<view class="before" :style="{ background: t('color2') }"></view>{{ item.name }}
							</view>
						</block>
						<view v-show="tabflag" style="height: 100rpx;display: block;"></view>
					</view>
					<view class="nav_right">
						<view class="nav_right-content">
							<!-- <view class="nav-img" v-if="categoryimg">
								<image :src="categoryimg"></image>
							</view> -->
							<!-- <view class="nav-pai">
								<view class="nav-paili" :style="(!field||field=='sort')?'color:'+t('color2'):''"
									@tap="changeOrder" data-field="sort" data-order="desc">综合</view>
					
								<view class="nav-paili" @tap="changeOrder" data-field="sell_price"
									:data-order="order=='asc'?'desc':'asc'">
									<text :style="field=='sell_price'?'color:'+t('color2'):''">价格</text>
									<text class="iconfont iconshangla"
										:style="field=='sell_price'&&order=='asc'?'color:'+t('color2'):''"></text>
									<text class="iconfont icondaoxu"
										:style="field=='sell_price'&&order=='desc'?'color:'+t('color2'):''"></text>
								</view>
								<view class="nav-paili" :style="field=='sales'?'color:'+t('color2'):''" @tap="changeOrder"
									data-field="sales" data-order="desc">销量</view>
							</view> -->
							<!-- <view class="classify-ul" v-if="curIndex > -1 && clist[curIndex].child.length > 0">
								<view class="flex" style="width:100%;overflow-y:hidden;overflow-x:scroll;">
									<view class="classify-li"
										:style="curIndex2 == -1 ? 'color:' + t('color2') + ';background:rgba(' + t('color2rgb') + ',0.2)' : ''"
										@tap="changeCTab" :data-id="clist[curIndex].id" data-index="-1">全部</view>
									<block v-for="(item, idx2) in clist[curIndex].child" :key="idx2">
										<view class="classify-li"
											:style="curIndex2 == idx2 ? 'color:' + t('color2') + ';background:rgba(' + t('color2rgb') + ',0.2)' : ''"
											@tap="changeCTab" :data-id="item.id" :data-index="idx2">{{ item.name }}
										</view>
									</block>
								</view>
							</view> -->
							<scroll-view class="classify-box" scroll-y="true" @scrolltolower="scrolltolower">
								<view class="product-itemlist">
									<view class="item" v-for="(item, index) in datalist" :key="item.id"
										@click.stop="Selection(item)" :class="item.stock <= 0 ? 'soldout' : ''">

										<block v-if="true">
											<view class="product-pic" @click.stop="detaildialogChange(item.id)">
												<image class="image" :src="item.pic" mode="widthFix" />
												<view class="overlay">
													<view class="text">售罄</view>
												</view>
											</view>
											<view class="product-info">
												<view class="p1" @click.stop="detaildialogChange(item.id)"><text>{{ item.name
												}}</text></view>

												<view class="p1-sp" v-if="opt.type != 1">
													<text>{{ item.sellpoint }}</text>
												</view>

												<!-- <view class="p3">
													
													<view class="p3-1"><text>已售{{item.sales}}件</text></view>
												</view> -->
												<view class="add-btn-main" v-if="opt.type == 1">
													<!-- <view class="add-btn" @click.stop="Selection(item)" :style="{ backgroundColor: t('color2') }"
														>+
													</view> -->
													<view class="commerce-text" v-if=" memberinfo.commission !== 0">
													    佣金￥<text class="commerce-text-fs">{{ calculatePrice(item.sell_price, memberinfo.commission) }}</text>
													</view>
													<view class="commerce-btn" :style="{background:t('color2')}">
														我要带货
													</view>
												</view>
												<view class="add-btn-main" v-if="opt.type == 2">
													<view class="add-btn" :style="{ backgroundColor: t('color2') }"
														@click.stop="buydialogChange(item.id)" :data-productid="item.id">+
													</view>
												</view>

												<view class="p22"
													v-if="item.price_show_type == '0' || !item.price_show_type">
													<view class="p2" v-if="item.price_type != 1 || item.sell_price > 0">
														<text class="t2"
															v-if="item.market_price * 1 > item.sell_price * 1">原价￥{{
																item.market_price }}</text>
													</view>
													<view class="p2" v-if="item.price_type != 1 || item.sell_price > 0">
														<text class="t1" :style="{ color: t('color2') }">
															<text style="font-size:20rpx;padding-right:1px">￥</text>{{
																item.sell_price }}
														</text>
													</view>
												</view>
												<view class="p22"
													v-if="item.price_show_type == '1' || item.price_show_type == '2'">
													<view v-if="item.is_vip == '0'">
														<view class="p2"
															v-if="item.price_type != 1 || item.sell_price > 0">
															<text class="t1" :style="{ color: t('color2') }"><text
																	style="padding-right:1px;font-size: 20rpx;">￥</text>
																<text style="font-size:32rpx;">{{ item.sell_price
																}}</text>
															</text>
															<text class="t2"
																v-if="item.market_price * 1 > item.sell_price * 1">￥{{
																	item.market_price }}</text>
														</view>

														<view class="flex"
															v-if="item.price_show_type == '2' && item.lvprice == 1">
															<view class="member flex"
																:style="'border-color:' + t('color2')">
																<view :style="{ background: t('color2') }"
																	class="member_lable flex-y-center">
																	{{ item.level_name_show }}
																</view>
																<view :style="'color:' + t('color2')"
																	class="member_value flex-y-center">
																	￥<text>{{ item.sell_price_origin }}</text>
																</view>
															</view>
														</view>
													</view>
													<view v-if="item.is_vip == '1'">
														<view class="flex" v-if="item.lvprice == 1">
															<view class="member flex"
																:style="'border-color:' + t('color2')">
																<view :style="{ background: t('color2') }"
																	class="member_lable flex-y-center">
																	{{ item.level_name_show }}
																</view>
																<view :style="'color:' + t('color2')"
																	class="member_value flex-y-center">
																	￥<text style="font-size: 32rpx;">{{ item.sell_price
																	}}</text>
																</view>
															</view>
														</view>
														<view class="p2"
															v-if="item.price_type != 1 || item.sell_price > 0">
															<text class="t1" :style="{ color: t('color2') }"><text
																	style="font-size:20rpx;padding-right:1px">￥</text>
																<text
																	:style="item.lvprice == '1' ? 'font-size:26rpx;' : 'font-size:32rpx;'">{{
																		item.sell_price_origin }}</text>
															</text>
															<text class="t2"
																v-if="item.market_price * 1 > item.sell_price * 1">￥{{
																	item.market_price }}</text>
														</view>
													</view>
												</view>


											</view>
										</block>
									</view>
								</view>
								<nomore text="没有更多商品了" v-if="nomore"></nomore>
								<nodata text="暂无相关商品" v-if="nodata"></nodata>
								<view style="width:100%;height:100rpx"></view>
							</scroll-view>
						</view>
					</view>
				</view>
			</view>

			<buydialog v-if="buydialogShow" :proid="product.id" :btntype="btntype" @buydialogChange="buydialogChange"
				@showLinkChange="showLinkChange" :menuindex="menuindex" @addcart="addcart" :currentTab="currentTab">
			</buydialog>
			<detaildialog v-if="detaildialogShow" :proid="product.id" :btntype="btntype"
				@detaildialogChange="detaildialogChange" :menuindex="menuindex"></detaildialog>
			<view class="posterDialog linkDialog" v-if="showLinkStatus">
				<view class="main">
					<view class="close" @tap="showLinkChange">
						<image class="img" src="/static/img/close.png" />
					</view>
					<view class="content">
						<view class="title">{{ lx_name }}</view>
						<view class="row" v-if="lx_bid > 0">
							<view class="f1">店铺名称</view>
							<view class="f2" @tap="goto" :data-url="'/pagesExt/business/index?id=' + lx_bid">{{ lx_bname
							}}
								<image src="/static/img/arrowright.png" class="image" />
							</view>
						</view>
						<view class="row" v-if="lx_tel">
							<view class="f1">联系电话</view>
							<view class="f2" @tap="goto" :data-url="'tel::' + lx_tel" :style="{ color: t('color2') }">
								{{ lx_tel }}
								<image src="/static/img/copy.png" class="copyicon" @tap.stop="copy" :data-text="lx_tel">
								</image>
							</view>
						</view>
					</view>
				</view>
			</view>
		</block>
		<!-- 底部已选栏 -->
		<view class="bottom-bar" v-if="selectedCount > 0">
			<view class="selected-info">
				<text>已选{{ selectedCount }}件商品</text>
				<text class="confirm-btn">确定</text>
			</view>
		</view>
		<loading v-if="loading" loadstyle="left:62.5%"></loading>
		<dp-tabbar :opt="opt" @getmenuindex="getmenuindex"></dp-tabbar>
		<popmsg ref="popmsg"></popmsg>
	</view>
</template>

<script>
	import detaildialog from '../components/detaildialog.vue';
	var app = getApp();
	export default {
		data() {
			return {
				opt: {},
				loading: false,
				isload: false,
				menuindex: -1,
				pagenum: 1,
				nomore: false,
				nodata: false,
				order: '',
				field: '',
				clist: [],
				curIndex: -1,
				curIndex2: -1,
				datalist: [],
				nodata: false,
				curCid: 0,
				proid: 0,
				buydialogShow: false,
				bid: '',

				showLinkStatus: false,
				lx_name: '',
				lx_bid: '',
				lx_tel: '',
				tabflag: true,
				memberinfo: '',
				noreadstr: '',
				categoryimg: '',
				selectedItems: [],
				btntype: 4,
				btntype: 4,
				product: {},
				menuindex: 0,
				detaildialogShow: false,
				currentTab: 0,
				customNavHeight: 0,
				customNavTop: 0,
				currentTab: 0,
				scrollLeft: 0,
				selectedItem: [],
				navBarTop: 0,
				statusBarHeight: 0,
				menuButtonInfo: null,
				showPopup: false,
				searchKeyword: ''
			};
		},
		components: {
			detaildialog
		},
		onLoad: function(opt) {
			this.opt = app.getopts(opt);
			this.bid = this.opt.bid ? this.opt.bid : '';
			this.getdata();
			let data = app.globalData.giftdata

			if (opt.currentTab !== undefined) {
				this.currentTab = Number(opt.currentTab)
			}
			// #ifndef H5 || APP-PLUS || MP-ALIPAY
			// 获取系统信息和胶囊按钮位置信息
			const systemInfo = uni.getSystemInfoSync();
			const menuButtonInfo = uni.getMenuButtonBoundingClientRect();

			this.statusBarHeight = systemInfo.statusBarHeight;
			this.menuButtonInfo = menuButtonInfo;

			// 计算导航栏高度
			this.customNavHeight = menuButtonInfo.bottom + 8; // 底部加8px间距
			this.customNavTop = 0;
			// #endif
		},
		onPullDownRefresh: function() {
			this.getdata();
		},
		methods: {
			Selection(item) {
				uni.navigateTo({
					url: '/pagesEchart/find/release?id=' + item.id + '&pic=' + item.pic
				})
			},
			openshow() {
				this.showPopup = !this.showPopup;
			},

			switchTab(item, index) {
				// if (this.currentTab === index) return
				this.currentTab = index
				this.selectedItem = item.child

				var id = item.id;

				this.curIndex = -1;
				this.curIndex2 = -1;
				this.nodata = false;
				this.curCid = id;
				this.pagenum = 1;
				this.datalist = [];
				this.nomore = false;
				// 计算滚动位置
				this.calculateScrollLeft(index);
				this.getdatalist();
				this.showPopup = false

			},
			// 添加计算滚动位置的方法
			calculateScrollLeft(index) {
				const query = uni.createSelectorQuery();
				query.select('.nav-tabs').boundingClientRect();
				query.select('.tab-item').boundingClientRect();

				query.exec((res) => {
					if (res[0] && res[1]) {
						const tabsWidth = res[0].width; // 导航栏总宽度
						const itemWidth = res[1].width; // 单个tab的宽度
						const itemCount = this.clist.length; // tab总数

						// 计算目标滚动位置
						let targetScrollLeft = index * itemWidth - (tabsWidth - itemWidth) / 2;

						// 确保不会滚动到负值
						targetScrollLeft = Math.max(0, targetScrollLeft);

						// 确保不会滚动超出最大范围
						const maxScroll = itemWidth * itemCount - tabsWidth;
						targetScrollLeft = Math.min(targetScrollLeft, maxScroll);

						// 设置滚动位置
						this.scrollLeft = targetScrollLeft;
					}
				});
			},
			addToCart(item) {
				this.selectedItems.push(item)
				console.log(this.selectedItems);
			},
			getdata: function() {
				var that = this;
				var nowcid = that.opt.cid;
				if (!nowcid) nowcid = '';
				that.pagenum = 1;
				that.datalist = [];
				that.loading = true;
				let url = "";

				switch (that.opttype) {
					case '0':
						url = 'Shop/classify';
						break;
					case '1':
						url = 'Shop/brand';
						break;
					default:
						url = 'Shop/classify';
						break;
				}
				app.get(url, {
					needinit: 1,
					cid: nowcid,
					bid: that.bid
				}, function(res) {
					that.loading = false;
					var clist = res.data;
					that.clist = clist;
					// 初始化选中第一个分类
					if (clist && clist.length > 0) {
						that.selectedItem = clist[0].child || [];
						that.currentTab = 0;
						// 如果没有指定cid，则使用第一个分类的id
						if (!nowcid) {
							that.curCid = clist[0].id;
						}
					}

					// 如果有指定cid，查找对应的分类
					if (nowcid) {
						for (var i = 0; i < clist.length; i++) {
							if (clist[i]['id'] == nowcid) {
								that.curIndex = i;
								that.curCid = nowcid;
								that.selectedItem = clist[i].child || []; // 更新selectedItem为当前分类的子分类
								that.currentTab = i; // 更新当前选中的tab
							}
							var downcdata = clist[i]['child'];
							var isget = 0;
							for (var j = 0; j < downcdata.length; j++) {
								if (downcdata[j]['id'] == nowcid) {
									that.curIndex = i;
									that.curIndex2 = j;
									that.curCid = nowcid;
									that.selectedItem = clist[i].child || []; // 更新selectedItem为父分类的子分类
									that.currentTab = i; // 更新当前选中的tab
									isget = 1;
									break;
								}
							}
							if (isget) break;
						}
					}
					that.categoryimg = res._initdata.categoryimg
					that.loaded();
					that.getdatalist();
				});
			},
			handleSearch() {
				if (this.searchKeyword.trim()) {
					this.doSearch(this.searchKeyword);
				}
			},

			handleInput(e) {
				this.searchKeyword = e.detail.value;
				if (!this.searchKeyword.trim()) {
					this.datalist = [];
					clearTimeout(this.searchTimer); // 清除可能存在的定时器
					return;
				}
				// 清除之前的定时器
				clearTimeout(this.searchTimer);

				// 设置新的定时器
				this.searchTimer = setTimeout(() => {
					this.doSearch(this.searchKeyword);
				}, this.debounceTime);
			},

			// 实际执行搜索的方法
			doSearch(keyword) {
				if (!keyword.trim()) {
					// 如果关键词为空，可以重置显示或返回
					return;
				}

				const that = this;
				app.get('Shop/getprolist', {
					keyword: keyword
				}, function(res) {
					if (res.status == 1) {
						that.datalist = res.data;

					} else {
						app.error(res.msg);
					}
				});
			},
			clearSearch() {
				this.searchKeyword = '';
				this.getdatalist();
			},
			getdatalist: function(loadmore) {
				if (!loadmore) {
					this.pagenum = 1;
					this.datalist = [];
				}

				var that = this;

				var pagenum = that.pagenum;

				var cid = that.curCid;
				var bid = that.opt.bid ? that.opt.bid : '';
				var order = that.order;

				var field = that.field;
				that.loading = true;
				that.nodata = false;
				that.nomore = false;
				var wherefield = {};
				wherefield.pagenum = pagenum;
				wherefield.field = field;
				wherefield.order = order;
				wherefield.bid = bid;
				if (bid > 0) {
					wherefield.cid2 = cid;
				} else {
					wherefield.cid = cid;
				}
				//如果设置过地域限制【定位模式下】
				var cachearea = app.getCache('user_current_area');
				var cachelongitude = app.getCache('user_current_longitude');
				var cachelatitude = app.getCache('user_current_latitude');
				if (cachearea) {
					wherefield.area = cachearea;
				}
				if (cachelongitude) {
					wherefield.latitude = cachelatitude;
					wherefield.longitude = cachelongitude;
				}

				app.post('Shop/getprolist', wherefield, function(res) {
					that.loading = false;

					uni.stopPullDownRefresh();

					var data = res.data;
					if (data.length == 0) {
						if (pagenum == 1) {
							that.nodata = true;
						} else {
							that.nomore = true;
						}
					}
					var datalist = that.datalist;
					var newdata = datalist.concat(data);
					that.datalist = newdata;
					that.memberinfo = res.memberinfo
				});

			},

			calculatePrice(sellPrice, commission) {
				return (sellPrice * commission).toFixed(2);
			},
			scrolltolower: function() {
				if (!this.nomore) {

					this.pagenum = this.pagenum + 1;
					this.getdatalist(true);
				}
			},

			//改变子分类
			changeCTab: function(e) {

				var that = this;

				var id = e.currentTarget.dataset.id;
				var index = parseInt(e.currentTarget.dataset.index);

				this.curIndex2 = index;
				this.nodata = false;

				this.curCid = id;

				this.pagenum = 1;

				this.datalist = [];

				this.nomore = false;

				this.getdatalist();

			},

			//改变排序规则
			changeOrder: function(e) {

				var t = e.currentTarget.dataset;

				this.field = t.field;
				this.order = t.order;

				this.pagenum = 1;
				this.datalist = [];
				this.nomore = false;

				this.getdatalist();

			},

			//事件处理函数
			switchRightTab: function(e) {

				var that = this;

				var id = e.currentTarget.dataset.id;

				var index = parseInt(e.currentTarget.dataset.index);

				this.curIndex = index;
				this.curIndex2 = -1;
				this.nodata = false;
				this.curCid = id;
				this.pagenum = 1;
				this.datalist = [];
				this.nomore = false;

				this.getdatalist();

			},
			buydialogChange: function(e) {
				// const productId = e.target.dataset.productid;
				const productId = e;
				this.product = {
					id: productId
				}
				// if (!this.buydialogShow) {
				// 	this.proid = e.currentTarget.dataset.proid

				// }
				this.buydialogShow = !this.buydialogShow;
			},
			detaildialogChange: function(e) {
				const productId = e;
				this.product = {
					id: productId
				}
				this.detaildialogShow = !this.detaildialogShow;
			},
			showLinkChange: function(e) {
				var that = this;
				that.showLinkStatus = !that.showLinkStatus;
				that.lx_name = e.currentTarget.dataset.lx_name;
				that.lx_bid = e.currentTarget.dataset.lx_bid;
				that.lx_bname = e.currentTarget.dataset.lx_bname;
				that.lx_tel = e.currentTarget.dataset.lx_tel;
			},
		},
		computed: {
			selectedCount() {
				return this.selectedItems.length
			},
		},
	};
</script>
<style lang="scss">
	page {
		height: 100%;
		background-color: #efefef;
	}

	.container {
		width: 100%;
		height: 100vh;
		max-width: 640px;
		color: #939393;
		display: flex;
		flex-direction: column;
		position: relative;
	}

	.custom-nav {
		position: fixed;
		left: 0;
		right: 0;
		background-color: #ffffff;
		z-index: 10;
	}

	.search-container {
		display: flex;
		align-items: center;
		padding: 0 10rpx;
		width: 75%;
		box-sizing: border-box;
	}



	.search-box {
		flex: 1;
		display: flex;
		align-items: center;
		height: 62rpx;
		/* 调整搜索框高度 */
		border-radius: 28rpx;
		background-color: #f5f5f5;
		margin: 0 10rpx;
	}

	.search-box .img {
		width: 36rpx;
		height: 36rpx;
		margin: 0 10rpx 0 20rpx;
	}

	.search-box .search-text {
		font-size: 24rpx;
		color: #939393;
	}

	.content-container {

		margin-top: 180rpx;
		height: calc(100vh - 180rpx);
	}

	.content-container-box {
		flex: 1;
		height: calc(100% - 100rpx);
		display: flex;
		overflow: hidden;
	}

	/* #ifdef H5 */
	.content-container {
		margin-top: 80rpx;
	}

	/* #endif */
	.nav_left {
		width: 20%;
		/* height: calc(100% - 100rpx); */
		height: 100%;
		background: #f5f5f5;
		overflow-y: auto;
		position: relative;
	}

	.nav_left .nav_left_items {
		line-height: 50rpx;
		color: #333;
		// font-weight: bold;
		border-bottom: 0px solid #E6E6E6;
		font-size: 24rpx;
		position: relative;
		border-right: 0 solid #E6E6E6;
		padding: 25rpx 20rpx;
	}

	.nav_left .nav_left_items.active {
		background: #fff;
		color: #333;
		font-size: 24rpx;
		font-weight: bold;
	}

	.nav_left .nav_left_items .before {
		display: none;
		position: absolute;
		top: 50%;

		margin-top: -12rpx;
		left: 0;
		height: 24rpx;
		border-radius: 4rpx;
		width: 8rpx
	}

	.nav_left .nav_left_items.active .before {
		display: block
	}

	.nav_right {
		width: 80%;
		height: 100%;
		display: flex;
		flex-direction: column;
		background: #fff;
		box-sizing: border-box;
		padding: 0rpx 20rpx 0 20rpx
	}

	.nav_right-content {
		height: 100%
	}

	.nav-pai {
		width: 100%;
		display: flex;
		align-items: center;
		justify-content: space-between;
		border-radius: 18rpx;
		background-color: #fff;
		margin-bottom: 14rpx;
		margin-top: 14rpx;
		position: sticky;
		top: 0;
		z-index: 1;
		gap: 10rpx;
		/* 设置元素之间的间隔 */
	}

	.nav-paili {
		text-align: center;
		color: #323232;
		font-size: 24rpx;
		position: relative;
		height: 50rpx;
		line-height: 50rpx;
		background-color: #f5f5f5;
		border-radius: 36rpx;
		flex: 1;
		/* 平均分配宽度 */
	}

	.nav-paili .iconshangla {
		position: absolute;
		top: -4rpx;
		padding: 0 6rpx;
		font-size: 20rpx;
		color: #7D7D7D
	}

	.nav-paili .icondaoxu {
		position: absolute;
		top: 8rpx;
		padding: 0 6rpx;
		font-size: 20rpx;
		color: #7D7D7D
	}

	.classify-ul {
		width: 100%;
		height: 100rpx;
		padding: 0 10rpx;
	}

	.classify-li {
		flex-shrink: 0;
		display: flex;
		background: #F5F6F8;
		border-radius: 22rpx;
		color: #6C737F;
		font-size: 20rpx;
		text-align: center;
		height: 44rpx;
		line-height: 44rpx;
		padding: 0 28rpx;
		margin: 12rpx 10rpx 12rpx 0
	}

	.classify-box {
		flex: 1;
		overflow-y: auto;
		height: 100%;
		padding: 0 0 20rpx 0;
	}

	.classify-box .nav_right_items {
		width: 100%;
		border-bottom: 1px #f4f4f4 solid;
		padding: 16rpx 0;
		box-sizing: border-box;
		position: relative;
	}

	.product-itemlist {
		height: auto;
		position: relative;
		overflow: hidden;
		padding: 0px;
		display: flex;
		flex-wrap: wrap
	}

	.product-itemlist .item {
		width: 100%;
		/* height: 200rpx; */
		display: inline-block;
		position: relative;
		margin-bottom: 12rpx;
		background: #fff;
		display: flex;
		/* padding: 14rpx 0; */
		overflow: hidden;
		border-radius: 18rpx;
		border-bottom: 1px solid #F8F8F8
	}

	.product-itemlist .product-pic {
		width: 35%;
		height: 0;
		overflow: hidden;
		background: #ffffff;
		padding-bottom: 35%;
		position: relative;
		border-radius: 4px;
		margin-left: 14rpx;
		margin-top: 14rpx;
	}

	.product-itemlist .product-pic .image {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: auto
	}

	.product-itemlist .product-pic .saleimg {
		position: absolute;
		width: 120rpx;
		height: auto;
		top: -6rpx;
		left: -6rpx;
	}

	.product-itemlist .product-info {
		width: 70%;
		padding: 14rpx 10rpx 5rpx 20rpx;
		position: relative;
	}

	.product-itemlist .product-info .p1 {
		color: #323232;
		font-weight: bold;
		font-size: 28rpx;
		line-height: 36rpx;
		margin-bottom: 0;
		display: -webkit-box;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 2;
		overflow: hidden;
		height: 72rpx
	}

	.product-itemlist .product-info .p1-sp {
		color: #D46B08;
		font-weight: bold;
		font-size: 18rpx;
		line-height: 36rpx;
		margin-bottom: 0;
		display: -webkit-box;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 1;
		overflow: hidden;
		width: 100%;

	}

	.p1-degree {
		font-size: 24rpx;
	}

	.product-itemlist .product-info .p22 {
		position: absolute;
		bottom: 15rpx;
	}

	.product-itemlist .product-info .p2 {
		/* margin-top: 10rpx; */
		height: 36rpx;
		line-height: 36rpx;
		overflow: hidden;
	}

	.product-itemlist .product-info .p2 .t1 {
		font-size: 32rpx;
	}

	.product-itemlist .product-info .p2 .t2 {
		font-size: 24rpx;
		color: #aaa;
	}

	.product-itemlist .product-info .p3 {
		display: flex;
		align-items: center;
		overflow: hidden;
		margin-top: 5rpx;
		/* float: right; */
		position: absolute;
		// right: 15rpx;
		// bottom: 15rpx;
	}

	.product-itemlist .product-info .p3-1 {
		font-size: 18rpx;
		height: 30rpx;
		line-height: 30rpx;
		text-align: right;
		color: #999
	}

	.product-itemlist .product-info .p4 {
		width: 56rpx;
		height: 56rpx;
		border-radius: 50%;
		position: absolute;
		display: relative;
		bottom: 6rpx;
		right: 4rpx;
		text-align: center;
	}

	.product-itemlist .product-info .p4 .icon_gouwuche {
		font-size: 32rpx;
		height: 56rpx;
		line-height: 56rpx
	}

	.overlay {
		background-color: rgba(0, 0, 0, .5);
		position: absolute;
		width: 60%;
		height: 60%;
		border-radius: 50%;
		display: none;
		top: 20%;
		left: 20%;
	}

	.overlay .text {
		color: #fff;
		text-align: center;
		transform: translateY(100%);
	}

	.product-itemlist .soldout .product-pic .overlay {
		display: block;
	}

	.product-pic2 img {
		width: 100%;
		height: 100%;
		background-repeat: no-repeat;
		border-radius: 10%;
	}

	::-webkit-scrollbar {
		width: 0;
		height: 0;
		color: transparent;
	}

	.lianxi {
		color: #fff;
		border-radius: 50rpx 50rpx;
		line-height: 50rpx;
		text-align: center;
		font-size: 22rpx;
		padding: 0 14rpx;
		display: inline-block;
		float: right;
	}

	.member {
		position: relative;
		border-radius: 8rpx;
		border: 1rpx solid #fd4a46;
		overflow: hidden;
		margin-top: 10rpx;
		box-sizing: content-box;
	}

	.member_lable {
		height: 100%;
		font-size: 22rpx;
		color: #fff;
		background: #fd4a46;
		padding: 0 10rpx;
	}

	.member_value {
		padding: 0 10rpx;
		font-size: 20rpx;
		color: #fd4a46;
	}

	.nav-img {
		width: 100%;
		height: 200rpx;
		margin-bottom: 20rpx;
	}

	.nav-img image {
		width: 100%;
		height: 200rpx;
	}

	.nav-tabs-box {
		position: relative;
	}

	.nav-tabs {
		white-space: nowrap;
		background: #fff;
		padding: 0 20rpx 20rpx 20rpx;
		border-bottom: 1rpx solid #f0f0f0;

		.tab-item {
			display: inline-flex;
			flex-direction: column;
			align-items: center;
			width: 120rpx;
			padding: 10rpx 0;
			overflow: hidden;

			.tab-icon {
				width: 100rpx;
				height: 100rpx;
				margin-bottom: 8rpx;
				border-radius: 50%;
			}

			.tab-text {
				font-size: 22rpx;
				border-radius: 36rpx;
				padding: 6rpx 10rpx;
				overflow: hidden;
				width: 110rpx;
				text-align: center;
			}

		}
	}

	.add-cart {
		position: absolute;
		right: 0;
		bottom: 16rpx;
		display: flex;
		align-items: center;

		justify-content: center;

		width: 50rpx;

		height: 50rpx;

		border-radius: 50%;

		font-size: 36rpx;

		color: #fff;
	}

	.add-btn-main {
		position: absolute;
		right: 15rpx;
		bottom: 15rpx;
	}

	.commerce-btn {
		padding: 10rpx 20rpx;
		border-radius: 30rpx;
		color: #fff;
		font-size: 24rpx;
		text-align: center;
	}

	.commerce-text {
		font-size: 24rpx;
			color: #B72609;
	}
	.commerce-text-fs{
		font-size: 32rpx;
	}
		
	
	.add-btn {
		width: 55rpx;
		height: 55rpx;
		line-height: 52rpx;
		text-align: center;
		color: #fff;
		font-size: 40rpx;
		border-radius: 50%;
	}

	.show-box {
		position: absolute;
		top: 0rpx;
		right: 0rpx;
		z-index: 0;
		background-color: #fff;
		display: flex;
		align-items: center;
		justify-content: center;
		width: 40rpx;
		height: 100%;
	}

	.show-box-flex {
		color: #333;
		font-size: 24rpx;
	}

	.show-text {
		display: flex;
		flex-direction: column;
		line-height: 1;
	}

	.show-img {
		width: 26rpx;
		height: 26rpx;
		margin-top: 6rpx;
	}

	.topref {
		background-color: #fff;
	}

	.popup-layer {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		background: #fff;
		box-shadow: 0 2rpx 10rpx rgba(0, 0, 0, 0.1);
		border-radius: 12rpx;
		z-index: 100;
		padding: 20rpx;
	}

	.popup-content {
		display: flex;
		flex-wrap: wrap;
		gap: 16rpx;
	}

	.popup-item {
		width: calc((100% - 64rpx) / 5);
		display: flex;
		flex-direction: column;
		align-items: center;
		padding: 8rpx;
	}

	.popup-icon {
		width: 110rpx;
		height: 110rpx;
		border-radius: 50%;
	}

	.popup-text {
		font-size: 22rpx;
		color: #333;
		margin-top: 8rpx;
		text-align: center;
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
		max-width: 100%;
		border-radius: 36rpx;
		padding: 4rpx 10rpx;
	}

	.popup-bottom {
		font-size: 24rpx;
		display: flex;
		align-items: center;
		justify-content: center;
		margin-top: 20rpx;
	}

	.mask {
		position: fixed;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		background: rgba(0, 0, 0, 0.3);
		z-index: 98;
	}

	.arrow-top {
		width: 30rpx;
		height: 30rpx;
		transform: rotate(180deg);
	}

	/* 搜索图标 */
	.search-icon {
		width: 16px;
		height: 16px;
		margin-right: 8px;
	}

	/* 输入框 */
	.search-input {
		flex: 1;
		height: 100%;
		font-size: 14px;
	}

	.list {
		padding: 0 20rpx;
	}

	.list-item {
		display: flex;
		gap: 10rpx;
		padding: 20rpx;
		border-bottom: 1px solid #eee;
	}

	.list-item text {
		margin-right: 10rpx;
	}

	.clear-btn {
		color: #999;
		font-size: 20px;
		padding: 0 5px;
	}
</style>